home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 July & August / PCWorld_2006-07-08_cd.bin / komunikace / apache / apache_2[1].2.2-win32-x86-no_ssl.msi / Data1.cab / _65002E5584440C05AB1531E4E9B18222 < prev    next >
Extensible Markup Language  |  2006-01-15  |  25KB  |  459 lines

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
  4.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  5.               This file is generated from xml source: DO NOT EDIT
  6.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  7.       -->
  8. <title>DΘtails sur le fonctionnement des serveurs virtuels - Serveur Apache HTTP</title>
  9. <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
  10. <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
  11. <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
  12. <link href="../images/favicon.ico" rel="shortcut icon" /></head>
  13. <body id="manual-page"><div id="page-header">
  14. <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
  15. <p class="apache">Serveur Apache HTTP Version 2.2</p>
  16. <img alt="" src="../images/feather.gif" /></div>
  17. <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
  18. <div id="path">
  19. <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>DΘtails sur le fonctionnement des serveurs virtuels</h1>
  20. <div class="toplang">
  21. <p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> |
  22. <a href="../fr/vhosts/details.html" title="Franτais"> fr </a> |
  23. <a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
  24. </div>
  25. <div class="outofdate">Cette traduction peut Ωtre pΘrimΘe. Verifiez la version
  26.             Anglaise pour les changements rΘcents.</div>
  27.  
  28.  
  29.     <p>Le code gΘrant les serveurs virtuels a ΘtΘ rΘΘcrit α partir de 
  30.     zΘro dans <strong>Apache 1.3</strong>. Ce document vise α expliquer 
  31.     dans le dΘtail comment Apache procΦde lors du choix de l'utilisation 
  32.     d'un serveur virtuel en fonction d'une requΩte reτue. L'apparition 
  33.     de la directive  <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> 
  34.     a rendu beaucoup plus facile et plus s√re la configuration des 
  35.     serveurs virtuels par rapport aux versions prΘcΘdant la 1.3.</p>
  36.  
  37.     <p>Si vous voulez juste <cite>que τa marche</cite> sans en 
  38.     comprendre le fonctionnement, voici <a href="examples.html">quelques 
  39.     exemples</a>.</p>
  40.  
  41. </div>
  42. <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">InterprΘtation des fichiers 
  43. de configuration</a></li>
  44. <li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">Choix du serveur virtuel</a></li>
  45. <li><img alt="" src="../images/down.gif" /> <a href="#tips">Trucs et astuces</a></li>
  46. </ul></div>
  47. <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
  48. <div class="section">
  49. <h2><a name="configparsing" id="configparsing">InterprΘtation des fichiers 
  50. de configuration</a></h2>
  51.  
  52.     <p>Un <em>serveur  principal (main_server)</em> contient toutes 
  53.     les dΘfinitions qui apparaissent en dehors des sections 
  54.     <code><VirtualHost></code>. Les serveurs virtuels, aussi 
  55.     appelΘs <em>vhosts</em> (pour virtual hosts), sont dΘfinis par les 
  56.     sections <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.</p>
  57.  
  58.     <p>Les directives
  59.     <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>,
  60.     <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>,
  61.     <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>,
  62.     et <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
  63.     peuvent Ωtre placΘes n'importe o∙ dans le cadre de dΘfinition d'un
  64.     serveur. Cependant, chaque fois que l'une d'elles est lue, elle Θcrase 
  65.     ses instances prΘcΘdentes (dans le contexte du mΩme serveur).</p>
  66.  
  67.     <p>La valeur par dΘfaut du champ <code>Listen</code> pour le serveur 
  68.     principal est de 80. Le serveur principal n'a pas de valeur par 
  69.     dΘfaut pour <code>ServerPath</code> ni pour <code>ServerAlias</code>. 
  70.     La valeur par dΘfaut de <code>ServerName</code> est dΘduite α partir 
  71.     de l'adresses IP du serveur.</p>
  72.  
  73.     <p>La directive Listen associΘe au serveur principal a deux utilitΘs. 
  74.     La premiΦre dΘtermine le port rΘseau sur lequel Apache va Θcouter. 
  75.     La deuxiΦme spΘcifie le port qui sera utilisΘ dans les URIs absolus 
  76.     lors des redirections.</p>
  77.  
  78.     <p>└ la diffΘrence du serveur principal, les ports des serveurs 
  79.     virtuels <em>n</em>'affectent <em>pas</em> les ports sur lesquels 
  80.     Apache se met α l'Θcoute.</p>
  81.  
  82.     <p>Chaque adresse incluse dans une directive <code>VirtualHost</code> 
  83.     peut disposer d'un port optionnel. Si le port n'est pas prΘcisΘ, il 
  84.     prend par dΘfaut la derniΦre valeur de <code>Listen</code> lue dans 
  85.     la configuration du serveur principal. Le port particulier 
  86.     <code>*</code> reprΘsente un joker qui correspond α tous les ports. 
  87.     L'ensemble des adresses (y compris les rΘsultats multiples 
  88.     <code>A</code> issus des requΩtes DNS) est appelΘ <em>jeu 
  89.     d'adresses</em> du serveur virtuel.</p>
  90.  
  91.     <p>└ moins qu'une directive 
  92.     <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ne soit utilisΘe 
  93.     pour une adresse IP spΘcifique, le premier serveur virtuel avec 
  94.     cette adresse est considΘrΘ comme un <em>serveur virtuel par-IP</em>. 
  95.     L'adresse IP peut Θgalement prendre la valeur joker <code>*</code>.</p>
  96.  
  97.     <p>Dans les cas o∙ l'on souhaite utiliser un <em>serveur virtuel 
  98.     par nom</em>, la directive <code>NameVirtualHost</code> <em>doit</em> 
  99.     apparaεtre avec l'adresse IP choisie. En d'autres termes, vous devez 
  100.     spΘcifier dans votre fichier de configuration l'adresse IP des noms 
  101.     de domaine (CNAME) de vos serveurs virtuels par nom au moyen de 
  102.     la directive <code>NameVirtualHost</code>.</p>
  103.  
  104.     <p>On peut utiliser plusieurs directives <code>NameVirtualHost</code> 
  105.     pour un groupe de directives <code>VirtualHost</code>, mais seule 
  106.     une directive <code>NameVirtualHost</code> doit Ωtre utilisΘe pour 
  107.     chaque couple IP:port donnΘ.</p>
  108.  
  109.     <p>L'ordre d'apparition des directives <code>NameVirtualHost</code> 
  110.     et <code>VirtualHost</code> est sans importance, ce qui fait que 
  111.     les deux exemples suivants ont des effets identiques (seul l'ordre 
  112.     des directives <code>VirtualHost</code> pour <em>un</em> jeu 
  113.     d'adresses est important, voir ci-dessous) :</p>
  114.  
  115. <table><tr>
  116. <td><div class="example"><p><code>
  117.   NameVirtualHost 111.22.33.44<br />
  118.   <VirtualHost 111.22.33.44><br />
  119.   # serveur A<br />
  120.   ...<br />
  121.   </VirtualHost><br />
  122.   <VirtualHost 111.22.33.44><br />
  123.   # serveur B<br />
  124.   ...<br />
  125.   </VirtualHost><br />
  126.   <br />
  127.   NameVirtualHost 111.22.33.55<br />
  128.   <VirtualHost 111.22.33.55><br />
  129.   # serveur C<br />
  130.   ...<br />
  131.   </VirtualHost><br />
  132.   <VirtualHost 111.22.33.55><br />
  133.   # serveur D<br />
  134.   ...<br />
  135.   </VirtualHost>
  136. </code></p></div></td>
  137. <td><div class="example"><p><code>
  138.   <VirtualHost 111.22.33.44><br />
  139.   # serveur A<br />
  140.   </VirtualHost><br />
  141.   <VirtualHost 111.22.33.55><br />
  142.   # serveur C<br />
  143.   ...<br />
  144.   </VirtualHost><br />
  145.   <VirtualHost 111.22.33.44><br />
  146.   # serveur B<br />
  147.   ...<br />
  148.   </VirtualHost><br />
  149.   <VirtualHost 111.22.33.55><br />
  150.   # serveur D<br />
  151.   ...<br />
  152.   </VirtualHost><br />
  153.   <br />
  154.   NameVirtualHost 111.22.33.44<br />
  155.   NameVirtualHost 111.22.33.55<br />
  156.   <br />
  157. </code></p></div></td>
  158. </tr></table>
  159.  
  160.  
  161.     <p>(Il est conseillΘ d'adopter le choix de gauche pour faciliter 
  162.     la lisibilitΘ des fichiers de configuration.)</p>
  163.  
  164.     <p>AprΦs la lecture de la directive <code>VirtualHost</code>, le 
  165.     serveur virtuel se voit attribuer une valeur <code>Listen</code> 
  166.     par dΘfaut qui est la valeur du port associΘ au premier nom spΘcifiΘ 
  167.     dans sa directive <code>VirtualHost</code>.</p>
  168.  
  169.     <p>La liste complΦte des noms d'une directive <code>VirtualHost</code> 
  170.     est gΘrΘe exactement comme des <code>ServerAlias</code> (mais ne 
  171.     sont pas ΘcrasΘs par d'autres <code>ServerAlias</code>) si tous 
  172.     les noms sont rΘsolus dans ce jeu d'adresse. └ noter que les Θtats 
  173.     <code>Listen</code> de ce serveur virtuel sont sans incidence sur 
  174.     les ports attibuΘs au jeu d'adresses.</p>
  175.  
  176.     <p>Pendant la phase d'initialisation, une liste de chaque adresse 
  177.     IP est gΘnΘrΘe et introduite dans une table de 'hash'. Si une 
  178.     adresse IP est utilisΘe dans une directive <code>NameVirtualHost</code>, 
  179.     cette liste contient les noms des serveurs virtuels pour cette 
  180.     adresse. Si aucun serveur virtuel n'est dΘfini pour cette adresse, 
  181.     la directive <code>NameVirtualHost</code> est ignorΘe et un message 
  182.     est envoyΘ au journal d'erreurs. Quand un serveur virtuel par IP 
  183.     est utilisΘ, la table de 'hash' reste vide.</p>
  184.  
  185.     <p>La fonction de 'hash' Θtant rapide, le temps d'exΘcution d'un 
  186.     'hash' sur une adresse IP lors d'une requΩte est minimale et 
  187.     quasiment imperceptible. De plus, la table est optimisΘe pour les 
  188.     adresses IP dont le dernier octet est le seul α changer.</p>
  189.  
  190.     <p>Pour chaque serveur virtuel, diverses valeurs sont initialisΘes 
  191.     par dΘfaut. En particulier :</p>
  192.  
  193.     <ol>
  194.       <li>Dans le cas o∙ un serveur virtuel ne contient pas de directives 
  195.       <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>,
  196.       <code class="directive"><a href="../mod/core.html#resourceconfig">ResourceConfig</a></code>,
  197.       <code class="directive"><a href="../mod/core.html#accessconfig">AccessConfig</a></code>,
  198.       <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code>,
  199.       <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>,
  200.       <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code>,
  201.       <code class="directive"><a href="../mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></code>,
  202.       ou <code class="directive"><a href="../mod/core.html#sendbuffersize">SendBufferSize</a></code>,
  203.       alors la valeur de chacun de ces paramΦtres est hΘritΘe de celle du
  204.       serveur principal. (C'est α dire, hΘritΘe de la valeur finale aprΦs
  205.       lecture de la configuration du serveur principal.)</li>
  206.  
  207.       <li>Les permissions par dΘfaut sur les rΘpertoires de chaque 
  208.       serveur virtuel sont assemblΘes avec celles du serveur principal. 
  209.       Elles concernent Θgalement toutes les informations de configuration 
  210.       par rΘpertoire pour tous les modules.</li>
  211.  
  212.       <li>Les configurations par serveur pour chaque module sont assemblΘes 
  213.       α partir de celles du serveur principal.</li>
  214.     </ol>
  215.  
  216.     <p>L'essentiel des valeurs de configuration des serveurs virtuels 
  217.     provient de valeurs par dΘfaut issues du serveur principal.
  218.     Mais la position dans le fichier de configuration des directives
  219.     du serveur principal n'a pas d'importance -- l'ensemble de la 
  220.     configuration du serveur principal est lu avant que ces valeurs par 
  221.     dΘfaut soient appliquΘes aux serveur virtuels. Ainsi, mΩme si la 
  222.     dΘfinition d'une valeur apparaεt aprΦs celle d'un serveur virtuel, 
  223.     cette valeur peut affecter la definition du serveur virtuel.</p>
  224.  
  225.     <p>Dans le cas o∙ le serveur principal n'a pas de <code>ServerName</code> 
  226.     α ce stade, le nom de la machine sur laquelle tourne le programme 
  227.     <code class="program"><a href="../programs/httpd.html">httpd</a></code> est utilisΘ α sa place. Nous appellerons 
  228.     <em>jeu d'adresses du serveur principal</em>, les adresses IP 
  229.     renvoyΘes par une rΘsolution DNS sur le <code>ServerName</code> 
  230.     du serveur principal.</p>
  231.  
  232.     <p>Pour tous les champs <code>ServerName</code> non dΘfinis, dans 
  233.     le cas d'une configuration en serveur virtuel par nom, la valeur 
  234.     adoptΘe par dΘfaut est la premiΦre adresse donnΘe dans la section 
  235.     <code>VirtualHost</code> qui dΘfinit le serveur virtuel.</p>
  236.  
  237.     <p>Si un serveur virtuel contient la valeur magique 
  238.     <code>_default_</code>, il fonctionne sur le mΩme <code>ServerName</code> 
  239.     que le serveur principal.</p>
  240.  
  241. </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
  242. <div class="section">
  243. <h2><a name="hostmatching" id="hostmatching">Choix du serveur virtuel</a></h2>
  244.  
  245.     <p>└ la rΘception d'une requΩte, le serveur procΦde comme suit pour
  246.     dΘterminer quel serveur virtuel utiliser :</p>
  247.  
  248.     <h3><a name="hashtable" id="hashtable">VΘrification dans la table de hash</a></h3>
  249.  
  250.     <p>AprΦs que le client se soit connectΘ, l'adresse 
  251.     IP α laquelle le client s'est connectΘ est recherchΘe dans la 
  252.     table de hash IP interne.</p>
  253.  
  254.     <p>Si la rΘsolution de l'adresse IP n'aboutit pas (adresse IP non 
  255.     trouvΘe), la requΩte est servie par le serveur virtuel 
  256.     <code>_default_</code> s'il est dΘfini pour le port correspondant 
  257.     α la requΩte. Sinon, elle est servie par le serveur principal.</p>
  258.  
  259.     <p>Si l'adresse IP n'est pas trouvΘe dans la table de hash, la 
  260.     recherche du numΘro de port peut aussi se terminer par une 
  261.     correspondance α un <code>NameVirtualHost *</code> qui est gΘrΘ 
  262.     ensuite comme les autres serveur virtuels par noms.</p>
  263.     
  264.     <p>Si une liste est bien trouvΘe dans la table pour l'adresse 
  265.     IP recherchΘe, l'Θtape suivante est de dΘterminer s'il s'agit 
  266.     d'un serveur virtuel par nom ou par IP.</p>
  267.  
  268.     
  269.  
  270.     <h3><a name="ipbased" id="ipbased">Serveur virtuel par IP</a></h3>
  271.  
  272.     <p>Si l'entrΘe trouvΘe dispose d'une liste de noms vide, c'est 
  273.     qu'il s'agit d'un serveur virtuel par IP, et aucun autre choix 
  274.     n'est plus α faire ; la requΩte est servie par ce serveur virtuel.</p>
  275.  
  276.     
  277.  
  278.     <h3><a name="namebased" id="namebased">Serveur virtuel par nom</a></h3>
  279.  
  280.     <p>Si l'entrΘe trouvΘe correspond α un serveur virtuel par nom, 
  281.     la liste de noms contient au moins une structure de serveurs 
  282.     virtuels. Les serveurs virtuels se prΘsentent dans cette liste 
  283.     dans le mΩme ordre que la lecture des directives <code>VirtualHost</code> 
  284.     dans le fichier de configuration.</p>
  285.  
  286.     <p>Le premier serveur virtuel de cette liste (donc, le premier 
  287.     serveur virtuel attribuΘ α une adresse IP donnΘe dans le fichier 
  288.     de configuration) se voit attribuer la plus grande prioritΘ, ce 
  289.     qui signifie que c'est lui qui traite les requΩtes prΘsentant un 
  290.     nom de serveur invalide ou ne prΘsentant pas de champ 
  291.     <code>Host:</code> dans l'en-tΩte.</p>
  292.  
  293.     <p>Si un champ <code>Host:</code> est transmis dans l'en-tΩte de 
  294.     la requΩte, son occurrence est recherchΘe dans la liste et le 
  295.     premier serveur virtuel qui prΘsente un <code>ServerName</code> 
  296.     ou un <code>ServerAlias</code> correspondant est choisi pour 
  297.     servir la requΩte. Il est possible que le champ <code>Host:</code> 
  298.     contienne un numΘro de port, mais Apache utilise toujours le 
  299.     port sur lequel il a effectivement reτu la requΩte.</p>
  300.  
  301.     <p>Dans le cas o∙ le client a envoyΘ une requΩte en HTTP/1.0 sans 
  302.     un champ d'en-tΩte <code>Host:</code>, il est impossible de 
  303.     dΘterminer le serveur auquel le client veut se connecter ; l'URI 
  304.     de la requΩte est recherchΘ dans tous les <code>ServerPath</code> 
  305.     existants. Le premier chemin trouvΘ est utilisΘ et la requΩte est 
  306.     servie par le serveur virtuel correspondant.</p>
  307.  
  308.     <p>Si aucun serveur virtuel n'est trouvΘ, la requΩte est servie 
  309.     par le premier serveur virtuel qui Θcoute sur le port demandΘ et 
  310.     qui est sur la liste associΘe α l'adresse IP vers laquelle la 
  311.     requΩte a ΘtΘ envoyΘe (comme dΘjα prΘcisΘ ci-avant).</p>
  312.  
  313.     
  314.  
  315.     <h3><a name="persistent" id="persistent">Connexions persistantes</a></h3>
  316.  
  317.     <p>La recherche par adresse IP dΘcrite ci-avant n'est faite 
  318.     qu'<em>une fois</em> pour chaque session TCP/IP, alors que la 
  319.     recherche par nom est rΘalisΘe pour <em>chaque</em> requΩte au 
  320.     cours d'une connexion persistante (KeepAlive). En d'autres termes, 
  321.     il est possible pour un client de faire des requΩtes sur 
  322.     diffΘrents serveurs virtuels par nom, au cours d'une unique 
  323.     connexion persistante.</p>
  324.  
  325.     
  326.  
  327.     <h3><a name="absoluteURI" id="absoluteURI">URI absolu</a></h3>
  328.  
  329.     <p>Au cas o∙ l'URI de la requΩte est absolu, et que son nom de 
  330.     serveur et son port correspondent au serveur principal (ou l'un 
  331.     des serveurs virtuels configurΘs), <em>et</em> qu'ils correspondent 
  332.     α l'adresse et au port de la requΩte, alors l'URI est amputΘ 
  333.     de son prΘfixe protocole/nom de serveur/port et traitΘ par le 
  334.     serveur correspondant (principal ou virtuel). Si cette correspondance 
  335.     n'existe pas, l'URI reste inchangΘ et la requΩte est considΘrΘe 
  336.     comme une requΩte d'un serveur mandataire (proxy).</p>
  337.  
  338.  
  339. <h3><a name="observations" id="observations">Observations</a></h3>
  340.  
  341.     <ul>
  342.       <li>Les serveurs virtuels par nom et par IP n'interfΦrent 
  343.       jamais entre eux. Les serveurs virtuels par IP ne sont joignables 
  344.       qu'au travers de leur(s) adresse(s) IP propre(s), en aucun 
  345.       cas par aucune autre adresse. Les serveurs virtuels par nom 
  346.       ne sont accessibles que par leur(s) adresse(s) IP qui ne peuvent 
  347.       Ωtre dΘfinies qu'au moyen de la directive 
  348.       <code>NameVirtualHost</code>.</li>
  349.  
  350.       <li>Les vΘrifications sur <code>ServerAlias</code> et 
  351.       <code>ServerPath</code> ne sont jamais rΘalisΘes pour les 
  352.       serveurs virtuels par IP.</li>
  353.  
  354.       <li>L'ordre dans lequel sont agencΘs dans le fichier de 
  355.       configuration le serveur virtuel <code>_default_</code>, les 
  356.       serveurs virtuels par nom et par IP, et la directive 
  357.       <code>NameVirtualHost</code> est sans incidence sur le 
  358.       fonctionnement. Seul l'ordre des serveurs virtuels par nom 
  359.       pour une adresse donnΘe a une importance. Le serveur virtuel 
  360.       par nom qui est prΘsent en premier dans la configuration se 
  361.       voit attribuΘ la prioritΘ la plus haute pour les requΩtes 
  362.       arrivant sur son jeu d'adresses IP.</li>
  363.  
  364.       <li>Pour des raisons de sΘcuritΘ, le numΘro de port prΘsentΘ 
  365.       dans le champ d'en-tΩte <code>Host:</code> n'est jamais utilisΘ 
  366.       pour les tests de correspondances. Apache ne prend en compte 
  367.       que le numΘro de port sur lequel le client a envoyΘ la requΩte.</li>
  368.  
  369.       <li>Si une directive <code>ServerPath</code> existe, et se 
  370.       trouve Ωtre prΘfixe d'une autre directive <code>ServerPath</code> 
  371.       qui apparaεt plus loin dans la configuration, la premiΦre 
  372.       sera toujours utilisΘe et la deuxiΦme jamais. (Ceci ne se 
  373.       produit que dans le cas o∙ aucun champ <code>Host:</code> 
  374.       n'a ΘtΘ prΘsentΘ par le client pour distinguer les deux.)</li>
  375.  
  376.       <li>Dans le cas o∙ deux serveurs virtuels par IP ont une 
  377.       adresse en commun, le serveur virtuel qui apparaεt en premier 
  378.       dans la configuration est toujours choisi. Ce genre de chose 
  379.       peut arriver par inadvertance. Le serveur envoie une alerte 
  380.       dans le journal d'erreurs si ce cas se prΘsente.</li>
  381.  
  382.       <li>Le serveur virtuel <code>_default_</code> ne sert la requΩte 
  383.       que si aucun autre serveur virtuel travaillant sur l'adresse 
  384.       IP <em>et</em> le port demandΘs n'est trouvΘ. La requΩte n'est 
  385.       traitΘe que si le numΘro de port qui a reτu la requΩte est 
  386.       associΘ au serveur virtuel <code>_default_</code> (qui par 
  387.       dΘfaut, correspond α <code>Listen</code>). Un port joker peut 
  388.       Ωtre spΘcifiΘ (<em>comme dans</em> <code>_default_:*</code>) 
  389.       pour rΘcupΘrer les requΩtes sur tous les ports ouverts. Ceci 
  390.       est Θgalement applicable aux serveurs virtuels 
  391.       <code>NameVirtualHost *</code>.</li>
  392.  
  393.       <li>Le serveur principal ne sert α servir les requΩtes que 
  394.       lorsque l'adresse IP et le port demandΘs par le client ne 
  395.       correspondent α aucun serveur virtuel (y compris un serveur 
  396.       virtuel <code>_default_</code>). En d'autres termes, le serveur 
  397.       principal n'est utile que pour les combinaisons adresse/port 
  398.       non spΘcifiΘes (sauf quand un serveur virtuel <code>_default_</code> 
  399.       correspond au port).</li>
  400.  
  401.       <li>Ni les serveurs virtuels <code>_default_</code>, ni le 
  402.       serveur principal ne sont utilisΘs pour traiter une requΩte 
  403.       avec un champ d'en-tΩte <code>Host:</code> manquant ou vide 
  404.       lorsque l'adresse (et le port) de connexion correspondent α 
  405.       des serveurs virtuels par nom, par exemple, dans une directive 
  406.       <code>NameVirtualHost</code>.</li>
  407.  
  408.       <li>Il ne faut jamais employer de noms DNS dans des directives 
  409.       <code>VirtualHost</code>, car cela oblige le serveur a s'appuyer 
  410.       sur le DNS au moment du dΘmarrage. De plus, vous vous exposez 
  411.       α des problΦmes de sΘcuritΘ si vous n'avez pas la maεtrise du 
  412.       DNS pour la totalitΘ de vos domaines. Voir la documentation 
  413.       <a href="../dns-caveats.html">disponible ici</a>, ainsi que 
  414.       les deux points prΘcisΘs ci-aprΦs.</li>
  415.  
  416.       <li>Un nom de serveur <code>ServerName</code> devrait toujours 
  417.       Ωtre indiquΘ pour chaque serveur virtuel. Sans cela, une 
  418.       rΘsolution DNS est nΘcessaire pour chaque serveur virtuel.</li>
  419.       </ul>
  420.       
  421.  
  422. </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
  423. <div class="section">
  424. <h2><a name="tips" id="tips">Trucs et astuces</a></h2>
  425.  
  426.     <p>En plus des points ΘvoquΘs sur la page des 
  427.     <a href="../dns-caveats.html#tips">problΦmes liΘs au DNS</a>, 
  428.     voici quelques points intΘressants :</p>
  429.  
  430.     <ul>
  431.       <li>Toujours positionner les dΘfinitions relatives au serveur 
  432.       principal avant toute dΘfinition <code>VirtualHost</code>. 
  433.       (Ceci amΘliore grandement la lisibilitΘ de la configuration 
  434.       -- la maniΦre dont la configuration est interprΘtΘe aprΦs la 
  435.       lecture des fichiers ne met pas en Θvidence le fait que les 
  436.       dΘfinitions positionnΘes avant et surtout aprΦs les serveurs 
  437.       virtuels peuvent impacter le fonctionnement des serveurs virtuels.)</li>
  438.  
  439.       <li>Toujours regrouper les dΘfinitions <code>NameVirtualHost</code> 
  440.       et <code>VirtualHost</code> dans la configuration pour une 
  441.       meilleure lisibilitΘ.</li>
  442.  
  443.       <li>╔viter les <code>ServerPaths</code> qui sont prΘfixes 
  444.       d'autres <code>ServerPaths</code>. Si cela ne peut Ωtre ΘvitΘ, 
  445.       veillez α ce que le serveur virtuel contenant le prΘfixe le plus 
  446.       long (donc le plus prΘcis) apparaisse dans le fichier de 
  447.       configuration avant le plus court. (<em>par exemple</em>, 
  448.       "ServerPath /abc" est α spΘcifier aprΦs  "ServerPath /abc/def").</li>
  449.     </ul>
  450.  
  451. </div></div>
  452. <div class="bottomlang">
  453. <p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> |
  454. <a href="../fr/vhosts/details.html" title="Franτais"> fr </a> |
  455. <a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
  456. </div><div id="footer">
  457. <p class="apache">Copyright 1995-2006 The Apache Software Foundation or its licensors, as applicable.<br />AuthorisΘ sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
  458. <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
  459. </body></html>